realtek: rtl93xx: remove pseudo-PHYs and phy-handle from SFP ports
authorJonas Jelonek <[email protected]>
Sun, 26 Oct 2025 14:02:11 +0000 (14:02 +0000)
committerRobert Marko <[email protected]>
Sun, 2 Nov 2025 15:32:10 +0000 (16:32 +0100)
RTL93XX reached the point where the SerDes' are no longer treated as
regular PHYs. Instead, they are managed by the dedicated PCS driver.
Thus, all device tree definitions should follow this change.

Remove the pseudo-PHYs for the SerDes (so far usually defined with macro
INTERNAL_PHY) and corresponding 'phy-handle's from all SFP ports. This
removes a long-lasting confusion from our Realtek driver(s).

Signed-off-by: Jonas Jelonek <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20577
Signed-off-by: Robert Marko <[email protected]>
target/linux/realtek/dts/rtl9301_linksys_lgs328c.dts
target/linux/realtek/dts/rtl9302_plasmacloud_psx10.dts
target/linux/realtek/dts/rtl9302_zyxel_xgs1210-12-common.dtsi
target/linux/realtek/dts/rtl9302_zyxel_xgs1250-12-common.dtsi
target/linux/realtek/dts/rtl9303_tplink_tl-st1008f-v2.dts
target/linux/realtek/dts/rtl9303_vimin_vm-s100-0800ms.dts
target/linux/realtek/dts/rtl9303_xikestor_sks8300-8x.dts
target/linux/realtek/dts/rtl9303_xikestor_sks8310-8x.dts
target/linux/realtek/dts/rtl9311_linksys_lgs352c.dts
target/linux/realtek/dts/rtl9312_plasmacloud_common.dtsi

index abb4aac78ef7be7c1b585fa3398ab27645f5a9e7..33752ab6e5fc3e0ffb539e8a99401838b4f8e376 100644 (file)
                compatible = "ethernet-phy-ieee802.3-c22";
                rtl9300,smi-address = <2 23>;
        };      
-
-       INTERNAL_PHY(24)
-       INTERNAL_PHY(25)
-       INTERNAL_PHY(26)
-       INTERNAL_PHY(27)
 };
 
 &switch0 {
                        reg = <24>;
                        label = "lan25";
                        pcs-handle = <&serdes4>;
-                       phy-handle = <&phy24>;
                        phy-mode = "1000base-x";
                        managed = "in-band-status";
                        sfp = <&sfp0>;
                        reg = <25>;
                        label = "lan26";
                        pcs-handle = <&serdes6>;
-                       phy-handle = <&phy25>;
                        phy-mode = "1000base-x";
                        managed = "in-band-status";
                        sfp = <&sfp1>;
                        reg = <26>;
                        label = "lan27";
                        pcs-handle = <&serdes8>;
-                       phy-handle = <&phy26>;
                        phy-mode = "1000base-x";
                        managed = "in-band-status";
                        sfp = <&sfp2>;
                        reg = <27>;
                        label = "lan28";
                        pcs-handle = <&serdes9>;
-                       phy-handle = <&phy27>;
                        phy-mode = "1000base-x";
                        managed = "in-band-status";
                        sfp = <&sfp3>;
index c5e13272bd3e9dceb35057a84a8020e990113019..2273e92788b0a8cda119734ac95594ebda7e0b01 100644 (file)
        };
 };
 
-&mdio_bus0 {
-       INTERNAL_PHY(26)
-       INTERNAL_PHY(27)
-};
-
 &switch0 {
        ports {
                port@26 {
                        reg = <26>;
                        label = "lan9";
                        pcs-handle = <&serdes8>;
-                       phy-handle = <&phy26>;
                        phy-mode = "1000base-x";
                        sfp = <&sfp0>;
                        led-set = <0>;
@@ -60,7 +54,6 @@
                        reg = <27>;
                        label = "lan10";
                        pcs-handle = <&serdes9>;
-                       phy-handle = <&phy27>;
                        phy-mode = "1000base-x";
                        sfp = <&sfp1>;
                        led-set = <0>;
index 44d81a23f59c160c5f5fedefa6de7be4ca1fd4e9..9412d2697692e878aa2cb8d33cb90f28adc2e078 100644 (file)
                compatible = "ethernet-phy-ieee802.3-c22";
                rtl9300,smi-address = <0 7>;
        };
-
-       INTERNAL_PHY(26)
-       INTERNAL_PHY(27)
 };
 
 &switch0 {
                        reg = <26>;
                        label = "lan11";
                        pcs-handle = <&serdes8>;
-                       phy-handle = <&phy26>;
                        phy-mode = "1000base-x";
                        sfp = <&sfp0>;
                        led-set = <2>;
                        reg = <27>;
                        label = "lan12";
                        pcs-handle = <&serdes9>;
-                       phy-handle = <&phy27>;
                        phy-mode = "1000base-x";
                        sfp = <&sfp1>;
                        led-set = <2>;
index e78c723bbdd7e6f6154ef685ca4575b09125e0f8..7fd1755551cfac4d46e26a9473d4443eb47bc726 100644 (file)
                compatible = "ethernet-phy-ieee802.3-c22";
                rtl9300,smi-address = <0 7>;
        };
-
-       INTERNAL_PHY(27)
 };
 
 &switch0 {
                        reg = <27>;
                        label = "lan12";
                        pcs-handle = <&serdes9>;
-                       phy-handle = <&phy27>;
                        phy-mode = "1000base-x";
                        sfp = <&sfp0>;
                        led-set = <2>;
index acb811a9778998b1ba096994fb13b1f50496deb8..f242303c79f438c9d02bcd6bc2db230b5eef49d8 100644 (file)
        };
 };
 
-&mdio_bus0 {
-       INTERNAL_PHY(0)
-       INTERNAL_PHY(8)
-       INTERNAL_PHY(16)
-       INTERNAL_PHY(20)
-       INTERNAL_PHY(24)
-       INTERNAL_PHY(25)
-       INTERNAL_PHY(26)
-       INTERNAL_PHY(27)
-};
-
 &switch0 {
        ports {
                #address-cells = <1>;
                        reg = <0>;
                        label = "lan1";
                        pcs-handle = <&serdes2>;
-                       phy-handle = <&phy0>;
                        phy-mode = "1000base-x";
                        sfp = <&sfp0>;
                        managed = "in-band-status";
                        reg = <8>;
                        label = "lan2";
                        pcs-handle = <&serdes3>;
-                       phy-handle = <&phy8>;
                        phy-mode = "1000base-x";
                        sfp = <&sfp1>;
                        managed = "in-band-status";
                        reg = <16>;
                        label = "lan3";
                        pcs-handle = <&serdes4>;
-                       phy-handle = <&phy16>;
                        phy-mode = "1000base-x";
                        sfp = <&sfp2>;
                        managed = "in-band-status";
                        reg = <20>;
                        label = "lan4";
                        pcs-handle = <&serdes5>;
-                       phy-handle = <&phy20>;
                        phy-mode = "1000base-x";
                        sfp = <&sfp3>;
                        managed = "in-band-status";
                        reg = <24>;
                        label = "lan5";
                        pcs-handle = <&serdes6>;
-                       phy-handle = <&phy24>;
                        phy-mode = "1000base-x";
                        sfp = <&sfp4>;
                        managed = "in-band-status";
                        reg = <25>;
                        label = "lan6";
                        pcs-handle = <&serdes7>;
-                       phy-handle = <&phy25>;
                        phy-mode = "1000base-x";
                        sfp = <&sfp5>;
                        managed = "in-band-status";
                        reg = <26>;
                        label = "lan7";
                        pcs-handle = <&serdes8>;
-                       phy-handle = <&phy26>;
                        phy-mode = "1000base-x";
                        sfp = <&sfp6>;
                        managed = "in-band-status";
                        reg = <27>;
                        label = "lan8";
                        pcs-handle = <&serdes9>;
-                       phy-handle = <&phy27>;
                        phy-mode = "1000base-x";
                        sfp = <&sfp7>;
                        managed = "in-band-status";
index ef864ff0b3c5c6d9e9c359f4791792c2393d247f..8ddfe3a9e7aa10764ac76109773355d17e2ffdd8 100644 (file)
        };
 };
 
-&mdio_bus0 {
-       INTERNAL_PHY(0)
-       INTERNAL_PHY(8)
-       INTERNAL_PHY(16)
-       INTERNAL_PHY(20)
-       INTERNAL_PHY(24)
-       INTERNAL_PHY(25)
-       INTERNAL_PHY(26)
-       INTERNAL_PHY(27)
-};
-
 &switch0 {
        ports {
                #address-cells = <1>;
                        reg = <0>;
                        label = "lan1";
                        pcs-handle = <&serdes2>;
-                       phy-handle = <&phy0>;
                        phy-mode = "1000base-x";
                        sfp = <&sfp0>;
                        managed = "in-band-status";
                        reg = <8>;
                        label = "lan2";
                        pcs-handle = <&serdes3>;
-                       phy-handle = <&phy8>;
                        phy-mode = "1000base-x";
                        sfp = <&sfp1>;
                        managed = "in-band-status";
                        reg = <16>;
                        label = "lan3";
                        pcs-handle = <&serdes4>;
-                       phy-handle = <&phy16>;
                        phy-mode = "1000base-x";
                        sfp = <&sfp2>;
                        managed = "in-band-status";
                        reg = <20>;
                        label = "lan4";
                        pcs-handle = <&serdes5>;
-                       phy-handle = <&phy20>;
                        phy-mode = "1000base-x";
                        sfp = <&sfp3>;
                        managed = "in-band-status";
                        reg = <24>;
                        label = "lan5";
                        pcs-handle = <&serdes6>;
-                       phy-handle = <&phy24>;
                        phy-mode = "1000base-x";
                        sfp = <&sfp4>;
                        managed = "in-band-status";
                        reg = <25>;
                        label = "lan6";
                        pcs-handle = <&serdes7>;
-                       phy-handle = <&phy25>;
                        phy-mode = "1000base-x";
                        sfp = <&sfp5>;
                        managed = "in-band-status";
                        reg = <26>;
                        label = "lan7";
                        pcs-handle = <&serdes8>;
-                       phy-handle = <&phy26>;
                        phy-mode = "1000base-x";
                        sfp = <&sfp6>;
                        managed = "in-band-status";
                        reg = <27>;
                        label = "lan8";
                        pcs-handle = <&serdes9>;
-                       phy-handle = <&phy27>;
                        phy-mode = "1000base-x";
                        sfp = <&sfp7>;
                        managed = "in-band-status";
index cbee044126e8d456c9e4683411cda2885c9f2a12..88d5451849a508ef150d84ee1c1fe36c83aa25fe 100644 (file)
        };
 };
 
-&mdio_bus0 {
-       INTERNAL_PHY(0)
-       INTERNAL_PHY(8)
-       INTERNAL_PHY(16)
-       INTERNAL_PHY(20)
-       INTERNAL_PHY(24)
-       INTERNAL_PHY(25)
-       INTERNAL_PHY(26)
-       INTERNAL_PHY(27)
-};
-
 &switch0 {
        ports {
                #address-cells = <1>;
                        reg = <0>;
                        label = "lan1";
                        pcs-handle = <&serdes2>;
-                       phy-handle = <&phy0>;
                        phy-mode = "1000base-x";
                        sfp = <&sfp0>;
                        managed = "in-band-status";
                        reg = <8>;
                        label = "lan2";
                        pcs-handle = <&serdes3>;
-                       phy-handle = <&phy8>;
                        phy-mode = "1000base-x";
                        sfp = <&sfp1>;
                        managed = "in-band-status";
                        reg = <16>;
                        label = "lan3";
                        pcs-handle = <&serdes4>;
-                       phy-handle = <&phy16>;
                        phy-mode = "1000base-x";
                        sfp = <&sfp2>;
                        managed = "in-band-status";
                        reg = <20>;
                        label = "lan4";
                        pcs-handle = <&serdes5>;
-                       phy-handle = <&phy20>;
                        phy-mode = "1000base-x";
                        sfp = <&sfp3>;
                        managed = "in-band-status";
                        reg = <24>;
                        label = "lan5";
                        pcs-handle = <&serdes6>;
-                       phy-handle = <&phy24>;
                        phy-mode = "1000base-x";
                        sfp = <&sfp4>;
                        managed = "in-band-status";
                        reg = <25>;
                        label = "lan6";
                        pcs-handle = <&serdes7>;
-                       phy-handle = <&phy25>;
                        phy-mode = "1000base-x";
                        sfp = <&sfp5>;
                        managed = "in-band-status";
                        reg = <26>;
                        label = "lan7";
                        pcs-handle = <&serdes8>;
-                       phy-handle = <&phy26>;
                        phy-mode = "1000base-x";
                        sfp = <&sfp6>;
                        managed = "in-band-status";
                        reg = <27>;
                        label = "lan8";
                        pcs-handle = <&serdes9>;
-                       phy-handle = <&phy27>;
                        phy-mode = "1000base-x";
                        sfp = <&sfp7>;
                        managed = "in-band-status";
index fb2c866dcb1c17392ad5c73d39a01408a4a2ce60..ee7148a35d901fd36251edd4225d29c1f4218fd9 100644 (file)
        };
 };
 
-&mdio_bus0 {
-       INTERNAL_PHY(0)
-       INTERNAL_PHY(8)
-       INTERNAL_PHY(16)
-       INTERNAL_PHY(20)
-       INTERNAL_PHY(24)
-       INTERNAL_PHY(25)
-       INTERNAL_PHY(26)
-       INTERNAL_PHY(27)
-};
-
 &switch0 {
        ports {
                #address-cells = <1>;
                        reg = <0>;
                        label = "lan1";
                        pcs-handle = <&serdes2>;
-                       phy-handle = <&phy0>;
                        phy-mode = "1000base-x";
                        sfp = <&sfp0>;
                        managed = "in-band-status";
                        reg = <8>;
                        label = "lan2";
                        pcs-handle = <&serdes3>;
-                       phy-handle = <&phy8>;
                        phy-mode = "1000base-x";
                        sfp = <&sfp1>;
                        managed = "in-band-status";
                        reg = <16>;
                        label = "lan3";
                        pcs-handle = <&serdes4>;
-                       phy-handle = <&phy16>;
                        phy-mode = "1000base-x";
                        sfp = <&sfp2>;
                        managed = "in-band-status";
                        reg = <20>;
                        label = "lan4";
                        pcs-handle = <&serdes5>;
-                       phy-handle = <&phy20>;
                        phy-mode = "1000base-x";
                        sfp = <&sfp3>;
                        managed = "in-band-status";
                        reg = <24>;
                        label = "lan5";
                        pcs-handle = <&serdes6>;
-                       phy-handle = <&phy24>;
                        phy-mode = "1000base-x";
                        sfp = <&sfp4>;
                        managed = "in-band-status";
                        reg = <25>;
                        label = "lan6";
                        pcs-handle = <&serdes7>;
-                       phy-handle = <&phy25>;
                        phy-mode = "1000base-x";
                        sfp = <&sfp5>;
                        managed = "in-band-status";
                        reg = <26>;
                        label = "lan7";
                        pcs-handle = <&serdes8>;
-                       phy-handle = <&phy26>;
                        phy-mode = "1000base-x";
                        sfp = <&sfp6>;
                        managed = "in-band-status";
                        reg = <27>;
                        label = "lan8";
                        pcs-handle = <&serdes9>;
-                       phy-handle = <&phy27>;
                        phy-mode = "1000base-x";
                        sfp = <&sfp7>;
                        managed = "in-band-status";
index 7120ad6c07ed3043b2502ccd7df0070dfbd989bd..9458a2a93fd189536e9542c98981b1fd1be25217 100644 (file)
                compatible = "ethernet-phy-ieee802.3-c22";
                rtl9300,smi-address = <1 23>;
        };
-
-       INTERNAL_PHY(48)
-       INTERNAL_PHY(49)
-       INTERNAL_PHY(50)
-       INTERNAL_PHY(51)
 };
 
 &switch0 {
                        reg = <48>;
                        label = "lan49";
                        pcs-handle = <&serdes8>;
-                       phy-handle = <&phy48>;
                        phy-mode = "1000base-x";
                        managed = "in-band-status";
                        sfp = <&sfp0>;
                        reg = <49>;
                        label = "lan50";
                        pcs-handle = <&serdes9>;
-                       phy-handle = <&phy49>;
                        phy-mode = "1000base-x";
                        managed = "in-band-status";
                        sfp = <&sfp1>;
                        reg = <50>;
                        label = "lan51";
                        pcs-handle = <&serdes10>;
-                       phy-handle = <&phy50>;
                        phy-mode = "1000base-x";
                        managed = "in-band-status";
                        sfp = <&sfp2>;
                        reg = <51>;
                        label = "lan52";
                        pcs-handle = <&serdes11>;
-                       phy-handle = <&phy51>;
                        phy-mode = "1000base-x";
                        managed = "in-band-status";
                        sfp = <&sfp3>;
index 332dd4379da6cd4c83f614c18caebad891281735..209bc1b571c7cac2735dc82232c3250187dd28f9 100644 (file)
                compatible = "ethernet-phy-ieee802.3-c45";
                rtl9300,smi-address = <1 23>;
        };
-
-       /* fiber */
-       INTERNAL_PHY(48)
-       INTERNAL_PHY(50)
-       INTERNAL_PHY(52)
-       INTERNAL_PHY(53)
 };
 
 &switch0 {
                        reg = <48>;
                        label = "lan25";
                        pcs-handle = <&serdes8>;
-                       phy-handle = <&phy48>;
                        phy-mode = "1000base-x";
                        sfp = <&sfp0>;
                        led-set = <1>;
                        reg = <50>;
                        label = "lan26";
                        pcs-handle = <&serdes9>;
-                       phy-handle = <&phy50>;
                        phy-mode = "1000base-x";
                        sfp = <&sfp1>;
                        led-set = <1>;
                        reg = <52>;
                        label = "lan27";
                        pcs-handle = <&serdes10>;
-                       phy-handle = <&phy52>;
                        phy-mode = "1000base-x";
                        sfp = <&sfp2>;
                        led-set = <1>;
                        reg = <53>;
                        label = "lan28";
                        pcs-handle = <&serdes11>;
-                       phy-handle = <&phy53>;
                        phy-mode = "1000base-x";
                        sfp = <&sfp3>;
                        led-set = <1>;